Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit 1c2e372263e6703c44b3908584a1ff699f981aed


Parents : 6147415
Author : Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-04-14T19:35:36-05:00

feat(locales): add backend connection status messages and new actions in multiple languages

Changes
Diff

diff --git a/meshchatx/src/frontend/locales/de.json b/meshchatx/src/frontend/locales/de.json
index 2d28a3ff..8ae0fdb0 100644
--- a/meshchatx/src/frontend/locales/de.json
+++ b/meshchatx/src/frontend/locales/de.json
@@ -213,6 +213,8 @@
"loading_overlay_title": "Profil wird gewechselt",
"loading_overlay_subtitle": "Chats und Einstellungen werden geladen. Das dauert meist nur wenige Sekunden.",
"emergency_mode_active": "Notfallmodus aktiv - In-Memory-Datenbank und eingeschränkte Dienste werden verwendet.",
+ "backend_disconnected": "Verbindung zum Backend getrennt",
+ "backend_reconnected": "Wieder mit dem Backend verbunden",
"blackhole_integration_enabled": "Blackhole-Integration",
"blackhole_integration_description": "Identitäten automatisch auf der Reticulum-Transportebene sperren (Blackhole), wenn Benutzer in MeshChatX verbannt werden.",
"announce_limits": "Ankündigungslimits",
@@ -1651,7 +1653,13 @@
"action_changelog": "Änderungsprotokoll",
"action_changelog_desc": "Letzte Änderungen",
"action_bouncing_balls": "Bouncing Balls",
- "action_bouncing_balls_desc": "Physik-Demo im Graph"
+ "action_bouncing_balls_desc": "Physik-Demo im Graph",
+ "action_falling_skies": "Falling Skies",
+ "action_falling_skies_desc": "Neue Knoten oben im Visualizer einfallen lassen",
+ "action_snake": "Mesh Snake",
+ "action_snake_desc": "Alle Knoten fressen; der Schwanz sind die gefressenen Knoten",
+ "action_pong": "Mesh Pong",
+ "action_pong_desc": "Du gegen KI; Punktestand oben"
},
"settings": {
"shortcut_saved": "Shortcut saved",
@@ -1737,7 +1745,15 @@
"batch": "Batch",
"loading_status": "Loading status",
"failed_load": "Failed to load network data",
- "max_hops_filter": "Max. Hops"
+ "max_hops_filter": "Max. Hops",
+ "show_disabled_interfaces": "Offline-Interfaces anzeigen",
+ "show_discovered_interfaces": "Entdeckte Interfaces anzeigen",
+ "snake_win": "Du hast jeden Knoten gefressen.",
+ "snake_hit_self": "Eigene Spur getroffen. Game over.",
+ "snake_hint": "Pfeiltasten oder WASD zum Steuern. Friss alle Knoten ohne die eigene Spur zu kreuzen.",
+ "pong_hint": "W und S bewegen dein Paddle (links). Rechts spielt die KI. Wer zuerst 7 Punkte hat, gewinnt.",
+ "pong_win_you": "Du gewinnst.",
+ "pong_win_ai": "KI gewinnt."
},
"banishment": {
"title": "Banished",

diff --git a/meshchatx/src/frontend/locales/en.json b/meshchatx/src/frontend/locales/en.json
index f64e6f44..e5a96252 100644
--- a/meshchatx/src/frontend/locales/en.json
+++ b/meshchatx/src/frontend/locales/en.json
@@ -220,6 +220,8 @@
"loading_overlay_title": "Switching profile",
"loading_overlay_subtitle": "Loading your chats and settings. This usually takes a few seconds.",
"emergency_mode_active": "Emergency Mode Active - Using in-memory database and restricted services.",
+ "backend_disconnected": "Disconnected from backend",
+ "backend_reconnected": "Reconnected to backend",
"blackhole_integration_enabled": "Blackhole Integration",
"blackhole_integration_description": "Automatically blackhole identities at the Reticulum transport layer when banishing users in MeshChatX.",
"announce_limits": "Announce Limits",
@@ -863,7 +865,15 @@
"batch": "Batch",
"loading_status": "Loading status",
"failed_load": "Failed to load network data",
- "max_hops_filter": "Max hops"
+ "max_hops_filter": "Max hops",
+ "show_disabled_interfaces": "Show offline interfaces",
+ "show_discovered_interfaces": "Show discovered interfaces",
+ "snake_win": "You ate every node on the graph.",
+ "snake_hit_self": "Self-collision. Game over.",
+ "snake_hint": "Arrow keys or WASD to steer. Eat every node without crossing your tail.",
+ "pong_hint": "W and S move your paddle (left). Right paddle is AI. First to 7 points wins.",
+ "pong_win_you": "You win.",
+ "pong_win_ai": "AI wins."
},
"banishment": {
"title": "Banished",
@@ -1752,6 +1762,12 @@
"action_orbit_desc": "Orbit camera in network graph",
"action_bouncing_balls": "Bouncing Balls",
"action_bouncing_balls_desc": "Physics demo on the graph",
+ "action_falling_skies": "Falling Skies",
+ "action_falling_skies_desc": "Drop new graph nodes from the top of the visualizer",
+ "action_snake": "Mesh Snake",
+ "action_snake_desc": "Eat every node; your tail is the nodes you collect",
+ "action_pong": "Mesh Pong",
+ "action_pong_desc": "You vs AI; score at the top",
"action_getting_started": "Getting Started",
"action_getting_started_desc": "Open the setup guide",
"action_changelog": "Changelog",

diff --git a/meshchatx/src/frontend/locales/it.json b/meshchatx/src/frontend/locales/it.json
index 7615730e..27fb0e8b 100644
--- a/meshchatx/src/frontend/locales/it.json
+++ b/meshchatx/src/frontend/locales/it.json
@@ -220,6 +220,8 @@
"loading_overlay_title": "Cambio profilo",
"loading_overlay_subtitle": "Caricamento chat e impostazioni. Di solito bastano pochi secondi.",
"emergency_mode_active": "Modalità Emergenza Attiva - Utilizzo del database in memoria e servizi limitati.",
+ "backend_disconnected": "Disconnesso dal backend",
+ "backend_reconnected": "Riconnesso al backend",
"blackhole_integration_enabled": "Integrazione Blackhole",
"blackhole_integration_description": "Metti automaticamente in blackhole le identità a livello di trasporto Reticulum quando esili gli utenti in MeshChatX.",
"announce_limits": "Limiti annunci",
@@ -913,7 +915,15 @@
"batch": "Batch",
"loading_status": "Stato caricamento",
"failed_load": "Impossibile caricare i dati di rete",
- "max_hops_filter": "Salti max"
+ "max_hops_filter": "Salti max",
+ "show_disabled_interfaces": "Mostra interfacce offline",
+ "show_discovered_interfaces": "Mostra interfacce scoperte",
+ "snake_win": "Hai mangiato ogni nodo nel grafo.",
+ "snake_hit_self": "Collisione con te stesso. Game over.",
+ "snake_hint": "Frecce o WASD per sterzare. Mangia tutti i nodi senza incrociare la coda.",
+ "pong_hint": "W e S muovono la tua racchetta (sinistra). A destra c'è la IA. Vince chi arriva a 7 punti.",
+ "pong_win_you": "Hai vinto.",
+ "pong_win_ai": "Vince la IA."
},
"banishment": {
"title": "Esiliati",
@@ -1752,6 +1762,12 @@
"action_orbit_desc": "Camera orbita nel grafico di rete",
"action_bouncing_balls": "Palle Rimbalzanti",
"action_bouncing_balls_desc": "Demo fisica sul grafico",
+ "action_falling_skies": "Falling Skies",
+ "action_falling_skies_desc": "Nuovi nodi cadono dall'alto nel visualizzatore",
+ "action_snake": "Mesh Snake",
+ "action_snake_desc": "Mangia ogni nodo; la coda sono i nodi raccolti",
+ "action_pong": "Mesh Pong",
+ "action_pong_desc": "Tu contro IA; punteggio in alto",
"action_getting_started": "Guida Introduttiva",
"action_getting_started_desc": "Apri la guida di configurazione",
"action_changelog": "Changelog",

diff --git a/meshchatx/src/frontend/locales/ru.json b/meshchatx/src/frontend/locales/ru.json
index 4cc703ac..275c6c9b 100644
--- a/meshchatx/src/frontend/locales/ru.json
+++ b/meshchatx/src/frontend/locales/ru.json
@@ -213,6 +213,8 @@
"loading_overlay_title": "Смена профиля",
"loading_overlay_subtitle": "Загрузка чатов и настроек. Обычно это занимает несколько секунд.",
"emergency_mode_active": "Аварийный режим активен — используется база данных в оперативной памяти и ограниченные службы.",
+ "backend_disconnected": "Нет соединения с сервером",
+ "backend_reconnected": "Соединение с сервером восстановлено",
"blackhole_integration_enabled": "Интеграция Blackhole",
"blackhole_integration_description": "Автоматически блокировать (blackhole) личности на транспортном уровне Reticulum при изгнании пользователей в MeshChatX.",
"announce_limits": "Лимиты объявлений",
@@ -1648,6 +1650,12 @@
"action_orbit_desc": "Камера Orbit на графе сети",
"action_bouncing_balls": "Прыгающие шарики",
"action_bouncing_balls_desc": "Демонстрация физики на графе",
+ "action_falling_skies": "Falling Skies",
+ "action_falling_skies_desc": "Новые узлы падают сверху в визуализаторе",
+ "action_snake": "Mesh Snake",
+ "action_snake_desc": "Съешьте все узлы; хвост из собранных узлов",
+ "action_pong": "Mesh Pong",
+ "action_pong_desc": "Вы против ИИ; счёт сверху",
"action_getting_started": "Начало работы",
"action_getting_started_desc": "Открыть мастер настройки",
"action_changelog": "Список изменений",
@@ -1737,7 +1745,15 @@
"batch": "Batch",
"loading_status": "Loading status",
"failed_load": "Failed to load network data",
- "max_hops_filter": "Макс. хопов"
+ "max_hops_filter": "Макс. хопов",
+ "show_disabled_interfaces": "Показать отключенные интерфейсы",
+ "show_discovered_interfaces": "Показать обнаруженные интерфейсы",
+ "snake_win": "Съедены все узлы на графе.",
+ "snake_hit_self": "Столкновение с собой. Конец игры.",
+ "snake_hint": "Стрелки или WASD. Съешьте все узлы, не пересекая хвост.",
+ "pong_hint": "W и S — ваша ракетка (слева). Справа играет ИИ. Победа при 7 очках.",
+ "pong_win_you": "Вы выиграли.",
+ "pong_win_ai": "Победил ИИ."
},
"banishment": {
"title": "Banished",


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────